package com.alone.embedded.lucene.quickstart;

import com.alone.embedded.lucene.annotation.AutoFill;
import com.alone.embedded.lucene.annotation.DocField;
import com.alone.embedded.lucene.annotation.DocId;
import com.alone.embedded.lucene.bean.LatLon;
import com.alone.embedded.lucene.constant.FieldType;
import com.alone.embedded.lucene.spring.annotation.ElEntity;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;


/**
 * @author Alone
 * @date 2022/7/21 4:20 下午
 */
@Data
@ElEntity(value = "article", analyzerBeanName = "articleAnalyzer")
public class Article {

    /**
     * default data
     */
    public static final List<Article> DATA = new ArrayList<>();
    static {
        Article article = new Article();
        article.setId(1L);
        article.setAuthor("环球时报");
        article.setTitle("银保监会：同意两银行进入破产程序");
        article.setAbContent("银保监会网站8月26日披露的两则批复显示，银保监会已原则同意辽阳农村商业银行股份有限公司、辽宁太子河村镇银行股份有限公司进入破产程序。");
        article.setContent("中国银保监会关于辽宁太子河村镇银行股份有限公司破产的批复\n" +
                "\n" +
                "辽宁太子河村镇银行股份有限公司：\n" +
                "\n" +
                "《关于辽宁太子河村镇银行股份有限公司破产申请事项的请示》（辽太村行〔2022〕139号）收悉。经研究，现批复如下：\n" +
                "\n" +
                "一、原则同意辽宁太子河村镇银行股份有限公司进入破产程序。\n" +
                "\n" +
                "二、你行应严格按照有关法律法规要求开展后续工作，如遇重大情况，及时向银保监会报告。");
        article.setLatLon(LatLon.of(29.314684, 120.087596));
        DATA.add(article);
        article = new Article();
        article.setId(2L);
        article.setAuthor("第一军情");
        article.setTitle("台湾士兵朝大陆无人机丢石头，名嘴们坐不住了……");
        article.setAbContent("“当兵当到这个份上，真是可怜又可笑。”“好像原始部落一样！”“不是扫把，是石头！” “至少没有睡着，很认真在执勤，光是这一点就要嘉奖。”");
        article.setContent("一段在网络上广为流传的视频显示，大陆一架无人机拍摄到金门岗哨，连2名台湾士兵的表情都清晰可见，并且有台军士兵一度向无人机扔石头。台军方随后回应称，是无人机在高空用长距变焦镜头拍的，且经台军“示警驱离”后飞离。\n" +
                "\n" +
                "短短几秒的视频成为近两天台湾各个政论节目的热门吐槽点。有政论节目主持人将金门哨兵画面和一张类似原始部落的照片同框展示，并形容说，这“好像原始部落一样，真的‘抗中保台’怎么不把无人机打下来？”");
        article.setLatLon(LatLon.of(29.270803, 120.005879));
        DATA.add(article);
        article = new Article();
        article.setId(3L);
        article.setAuthor("铁血世界观");
        article.setTitle("俄雇佣兵击落美国“死神”？还是增程无人机，印度或被坑30亿美元");
        article.setAbContent("“在俄乌冲突期间，无人机已经成为最关键的装备之一，能让乌军在战斗中获得更多优势，这一切都多亏美国，其向乌军提供了大批无人机，未来还将提供“扫描鹰”侦察无人机，进一步提高乌军的空中打击实力。而在无人机领域，美国是当之无愧的领先者，多款机型都有出色的性能，但最近，其一架MQ-9“死神”无人机却突然被击落。事情发生在利比亚，据了解利军下属的部队动用防空系统将其击落，而目前还无法确定这架MQ-9属于哪个国家。");
        article.setContent("据在利比亚的俄罗斯雇佣兵“瓦格纳”集团表示，其将为此次MQ-9事件负责，因为就是其动用俄军防空系统将其击落。事实上，利军的确雇佣了一批瓦格纳成员，这些雇佣兵专门负责操作俄军的防空系统，最终成功将MQ-9击落。只不过俄军雇佣兵击落美国“死神”无人机，毫无疑问会导致美俄关系进一步恶化，不过美俄关系已经没有太多缓和可能，而且这架MQ-9不一定来自美军，所以应该不会酿成可怕后果。");
        article.setLatLon(LatLon.of(29.297047, 120.065771));
        DATA.add(article);

        article = new Article();
        article.setId(4L);
        DATA.add(article);
    }

    @DocId
    private Long id;

    @DocField(type = FieldType.TEXT)
    private String title;

    @DocField(type = FieldType.TEXT)
    private String content;

    @DocField(type = FieldType.TEXT)
    private String abContent;

    @DocField(type = FieldType.TEXT)
    private String author;

    @AutoFill
    @DocField(type = FieldType.DATE)
    private LocalDateTime time;

    @DocField(type = FieldType.BOOL)
    private boolean deleted;

    @DocField(type = FieldType.LATLON)
    private LatLon latLon;

}
